﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DDD {
    /// <summary>
    /// サブメッシュ情報構造体
    /// </summary>
    public struct Transform {
        /// <summary>
        /// コンストラクター
        /// </summary>
        /// <param name="vbuf">変形前の<see cref="VertexBuffer"/>オブジェクト</param>
        /// <param name="fbbuf">変形後の頂点を保存する<see cref="FeedbackBuffer"/>オブジェクト</param>
        /// <param name="app">変形に使用される<see cref="Appearance"/>オブジェクト</param>
        public Transform (VertexBuffer vbuf, FeedbackBuffer fbbuf, Appearance app)
            : this () {
            this.VertexBuffer = vbuf;
            this.FeedbackBuffer = fbbuf;
            this.Appearance = app;
        }

        
        /// <summary>
        /// トランスフォーム・頂点バッファー
        /// </summary>
        /// <remarks>
        /// 変形対象となる元データの頂点バッファーです。
        /// </remarks>
        public VertexBuffer VertexBuffer { get; private set; }

        /// <summary>
        /// フィードバックバッファー
        /// </summary>
        /// <remarks>
        /// フィードバックバッファーは変形後の頂点データを保存します
        /// </remarks>
        public FeedbackBuffer FeedbackBuffer { get; private set; }

       
        /// <summary>
        /// トランスフォーム・アピアランス
        /// </summary>
        /// <remarks>
        /// 変形に使用されるアピアランスです。
        /// </remarks>
        public Appearance Appearance { get; private set; }

    }
}